package com.sichen.search.vo;

import com.sichen.common.to.es.SkuEsModel;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * 封装检索出来的数据
 * <p>Created with IntelliJ IDEA.
 * <p>Author: 思尘
 * <p>Created time: 2022-09-17 17:03
 * <p>Version: V1.0
 */
@Data
public class SearchResult {

    /**
     * 查询到的所有商品信息
     */
    private List<SkuEsModel> products;

    /**
     * 当前页面
     */
    private Integer pageNum;

    /**
     * 总记录数
     */
    private Long total;

    /**
     * 总页码
     */
    private Integer totalPages;

    /**
     * 可遍历的页码
     */
    private List<Integer> pageNavs;

    /**
     * 当前查询到的结果 , 所有涉及到的品牌的ID
     */
    private List<BrandVo> brands;

    /**
     * 当前查询到的结果 , 所有涉及到的所有分类
     */
    private List<CatalogVo> catalogs;

    /**
     * 查询出来的所有属性的集合
     */
    private List<AttrVo> attrs;

    // =================== 以上是返回给页面的所有信息 ======================

    /**
     * 面包屑导航VO
     */
    private List<NavVo> navs = new ArrayList<>();
    private List<Long> attrIds = new ArrayList<>();

    @Data
    public static class NavVo{
        private String navName;
        private String navValue;
        private String link;
    }

    @Data
    public static class BrandVo{
        private Long brandId;
        private String brandName;
        private String brandImg;
    }

    @Data
    public static class CatalogVo{
        private Long catalogId;
        private String catalogName;
    }

    @Data
    public static class AttrVo{
        private Long attrId;
        private String attrName;
        private List<String> attrValue;
    }
}
